<?php

class Categorie
{
	private $_idCategorie;
	private $_libelleCategorie;
	
	public function __construct($idCategorie="0", $libelleCategorie="NONE")
	{
		$this->setId($idCategorie);
		$this->setNom($libelleCategorie);
	}
	
	public static function fillCategorie(&$messagesExceptions, $idCategorie = NULL, $libelleCategorie = NULL)
	{
		$categorie = new Categorie();
		if(empty($messagesExceptions)) $messagesExceptions = "";
		try{ $categorie->setId($idCategorie);} catch(Exception $e){ $messagesExceptions .= $e->getMessage().'<br/>';}
		try{ $categorie->setNom($libelleCategorie);} catch(Exception $e){ $messagesExceptions .= $e->getMessage().'<br/>';}
		
		return $categorie;
	}
	
	/*--------------------------------------------------------------------------*/
	/*----------------------------- GETTER -------------------------------------*/
	/*--------------------------------------------------------------------------*/
	
	public function getId(){ return $this->_idCategorie;}
	public function getNom(){return $this->_libelleCategorie;}
	
	/*--------------------------------------------------------------------------*/
	/*----------------------------- SETTER -------------------------------------*/
	/*--------------------------------------------------------------------------*/
	
	public function setId($id)
	{
		if($id == null || strlen($id) < 1 || strlen($id) > 11)
			throw new Exception('Erreur : ID d\'une catégorie est obligatoire (TAILLE COMPRISE ENTRE 1 et 11 MAXIMUM)');
		else
			$this->_idCategorie = $id;
	} 
	
	public function setNom($nom)
	{
		if($nom == null || strlen($nom) > 50)
			throw new Exception('Erreur : Le libelle est obligatoire et la taille du libelle doit être comprise entre 1 et 100 maximum');
		else
			$this->_libelleCategorie = $nom;
	}
}
?>